@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion

echo 🔍 开始代码质量检查...

REM 检查后端代码
echo 📝 检查后端代码...
cd backend

REM 检查PHP语法
echo   - 检查PHP语法...
for /r app %%f in (*.php) do (
    php -l "%%f" 2>nul | findstr /v "No syntax errors" >nul && echo     ⚠️  %%f 存在语法错误
)

REM 运行PHP CS Fixer检查
where php-cs-fixer >nul 2>&1
if %errorlevel% equ 0 (
    echo   - 运行PHP CS Fixer检查...
    php-cs-fixer fix --dry-run --diff
) else (
    echo   ⚠️  PHP CS Fixer未安装，跳过检查
)

REM 运行PHPUnit测试
if exist "vendor\bin\phpunit.bat" (
    echo   - 运行PHPUnit测试...
    vendor\bin\phpunit.bat --testdox
) else (
    echo   ⚠️  PHPUnit未安装，跳过测试
)

cd ..

REM 检查前端代码
echo 🎨 检查前端代码...
cd frontend

REM 检查依赖
if exist "package-lock.json" (
    echo   - 检查依赖完整性...
    npm ci --only=production
)

REM 运行ESLint检查
if exist "node_modules\.bin\eslint.cmd" (
    echo   - 运行ESLint检查...
    npm run lint
) else (
    echo   ⚠️  ESLint未安装，跳过检查
)

REM 运行TypeScript类型检查
if exist "node_modules\.bin\vue-tsc.cmd" (
    echo   - 运行TypeScript类型检查...
    npm run type-check
) else (
    echo   ⚠️  TypeScript编译器未安装，跳过测试
)

REM 运行测试
if exist "node_modules\.bin\vitest.cmd" (
    echo   - 运行测试...
    npm run test
) else (
    echo   ⚠️  Vitest未安装，跳过测试
)

cd ..

echo ✅ 代码质量检查完成！

REM 检查结果汇总
echo.
echo 📊 检查结果汇总：
echo   - 后端PHP代码: ✅ 完成
echo   - 前端Vue代码: ✅ 完成
echo   - 代码规范: ✅ 完成
echo   - 测试覆盖: ✅ 完成
echo.
echo 💡 提示：如果发现问题，请根据错误信息进行修复

pause
